In a computer system, a HDD (hard disk drive) is one of the most popular data storage devices. However, accessing data from a HDD is limited by mechanical technology, even a high frequency CPU (Central Process Unit) and RAM (Random Access Memory) having higher accessing rate are provide in the computer system. In fact, HDD access speed is a bottleneck of a computer system, and hence RAID (Redundant Array of Independent Disks) is created in order to enhance data storage performance and data storage capacity. Accordingly, RAID systems are the best choices of middle/low end data storage equipments due to great requirements of data storage equipments with high speed and large capacity as network springs up and plenty of servers are utilized.
The operation of a conventional RAID controller simply depends on RAID levels and the numbers of HDDs. The conventional RAID controller can spread out blocks of each file across multiple HDDs via a bus. Each specific file is restored by simultaneously collecting all corresponding blocks from multiple HDDs while accessing data. In other words, the conventional RAID controller activates the read/write heads of multiple HDDs at the same time in order to rapidly access data.
However, in practical application, data allocation and hardware implementation usually result in an access time delay. For example, the access time delay is resulted from that a plurality of disks are coupled to a bus, or the conventional RAID controller simultaneously reads file blocks from difference sectors within a HDD. So theoretically, although the conventional RAID controller sends an access command to each HDD simultaneously, and in fact, the access to each HDD will still be performed according to a priority. Therefore, the access time delay occurred insidiously will decrease the RAID performance.